System and method for improving voice communication over a network

ABSTRACT

Systems and methods for improving communication over a network are provided. A system for improving communication over a network, comprises a detection module capable of detecting data indicating a problem with a communication between at least two participants communicating via communication devices over the network, a management module capable of analyzing the data to determine whether a participant is dissatisfied with the communication, wherein the management module includes a determining module capable of determining that the participant is dissatisfied, and identifying an event causing the dissatisfaction, and a resolution module capable of providing a solution for eliminating the problem.

TECHNICAL FIELD

The field generally relates to systems and methods for improvingcommunication and, in particular, to systems and methods for improvingvoice communication over a network.

BACKGROUND

Voice communications, such as conference calls over a network, whereinthe participants are located in multiple geographic areas (referred toas “multi-geo” communications), may be difficult for the participantsdue to factors, such as a lack of familiarity with voices, customs,names and accents, as well as low audio quality due to, for example,poor or intermittent connections and/or problems with equipment. As aresult, it may be difficult for one or more participants to identify andunderstand attendees during these communications. Additionally, peoplewho participate in a call may often hesitate to inform the otherparticipants about their inability to understand the other callers, dueto for example, embarrassment, or fear of offending the otherparticipants.

Accordingly, there is a need to detect situations when participants in avoice communication do not comprehend what is being spoken and toprovide solutions to improve comprehension and the overall quality ofvoice communications, such as conference calls.

SUMMARY

In general, exemplary embodiments of the invention include systems andmethods for improving communication and, in particular, to systems andmethods for improving voice communication over a network.

According to an exemplary embodiment of the present invention, a systemfor improving communication over a network comprises a detection modulecapable of detecting data indicating a problem with a communicationbetween at least two participants communicating via communicationdevices over the network, a management module capable of analyzing thedata to determine whether a participant is dissatisfied with thecommunication, wherein the management module includes a determiningmodule capable of determining that the participant is dissatisfied, andidentifying an event causing the dissatisfaction, and a resolutionmodule capable of providing a solution for eliminating the problem.

The resolution module may comprise a matching module capable of findinga solution from a database that corresponds to the event causing thedissatisfaction.

The data can comprise at least part of a dialogue between the at leasttwo participants, the part of the dialogue including at least one of akeyword or a key phrase recognized as an indicator of the problem,biometric data, location information of the participants, and/or atleast one speech pattern of a participant.

The system can comprise at least one biometric sensor respectivelyconnected with each of the communication devices for capturing thebiometric data.

The management module can comprise a natural language processor, anautomatic speech recognition module, and/or a classification modulecapable of classifying the data into events causing the dissatisfaction.

The system may further comprise a speech to text module capable ofconverting speech from a first participant into text prior to receptionof the speech by a second participant, wherein the text is displayed ona communication device of the second participant.

The resolution module can be capable of at least one of filtering speechimpediments, changing an accent, and changing a rate of speech from afirst participant prior to reception of the speech by a secondparticipant.

According to an exemplary embodiment of the present invention, a methodfor improving communication over a network comprises monitoring thecommunication between participants over the network to detect dataindicating a problem with the communication, analyzing the data todetermine whether a participant is dissatisfied with the communication,and if it is determined that the participant is dissatisfied,identifying an event causing the dissatisfaction, and providing asolution for eliminating the problem, wherein one or more steps of themethod are performed by a computer system comprising a memory and atleast one processor coupled to the memory.

The data can comprise at least part of a dialogue between participants,the part of the dialogue including at least one of a keyword or a keyphrase recognized as an indicator of the problem, biometric data, suchas, for example, movement by, body temperature of and a facialexpression of a participant, location information of the participants,and/or at least one speech pattern of a participant.

Analyzing may comprise natural language processing and/or automaticspeech recognition.

The method may further comprise processing the data to classify the datainto events causing the dissatisfaction, filtering the events anddetermining that the participant is dissatisfied from the filteredevents.

Providing the solution may comprise modifying speech from a firstparticipant prior to reception of the speech by a second participant,wherein modifying comprises converting the speech into text to bedisplayed for the second participant, filtering speech impediments,changing an accent, changing a rate of the speech, and/or determiningparts of the speech that were dropped, and integrating the dropped partsinto synthesized speech.

According to an exemplary embodiment of the present invention, anarticle of manufacture comprises a computer readable storage mediumcomprising program code tangibly embodied thereon, which when executedby a computer, performs method steps for improving communication over anetwork, the method steps comprising monitoring the communicationbetween participants over the network to detect data indicating aproblem with the communication, analyzing the data to determine whethera participant is dissatisfied with the communication, and if it isdetermined that the participant is dissatisfied, identifying an eventcausing the dissatisfaction, and providing a solution for eliminatingthe problem.

According to an exemplary embodiment of the present invention, anapparatus for improving communication over a network, comprises amemory, and a processor coupled to the memory and configured to executecode stored in the memory for monitoring the communication betweenparticipants over the network to detect data indicating a problem withthe communication, analyzing the data to determine whether a participantis dissatisfied with the communication, and if it is determined that theparticipant is dissatisfied, identifying an event causing thedissatisfaction, and providing a solution for eliminating the problem.

These and other exemplary embodiments of the invention will be describedor become apparent from the following detailed description of exemplaryembodiments, which is to be read in connection with the accompanyingdrawings.

BRIEF DESCRIPTION OF THE DRAWINGS

Exemplary embodiments of the present invention will be described belowin more detail, with reference to the accompanying drawings, of which:

FIG. 1 is a high-level diagram of a system for improving voicecommunication over a network according to an exemplary embodiment of theinvention.

FIG. 2 is a high level diagram of the communication satisfactory managermodule of FIG. 1, according to an exemplary embodiment of the invention.

FIG. 3 is a high level diagram of the analyzer of collected data of FIG.2, according to an exemplary embodiment of the present invention.

FIG. 4 is a high-level diagram of the dissatisfaction determining moduleof FIG. 2, according to an exemplary embodiment of the invention.

FIG. 5 is a high-level diagram of the resolution module of FIG. 2,according to an exemplary embodiment of the invention.

FIG. 6 illustrates the database of solutions of FIG. 5, according to anexemplary embodiment of the invention.

FIG. 7 is a flow diagram of a method for improving voice communicationover a network according to an exemplary embodiment of the invention.

FIG. 8 is a flow diagram of a method for improving voice communicationover a network according to an exemplary embodiment of the invention.

FIG. 9 illustrates a computer system in accordance with which one ormore components/steps of the techniques of the invention may beimplemented, according to an exemplary embodiment of the invention.

DETAILED DESCRIPTION OF EXEMPLARY EMBODIMENTS

Exemplary embodiments of the invention will now be discussed in furtherdetail with regard to systems and methods for improving communicationand, in particular, to systems and methods for improving voicecommunication over a network. This invention may, however, be embodiedin many different forms and should not be construed as limited to theembodiments set forth herein.

According to embodiments of the present invention, the communicationscan be performed via communication devices such as, for example, desktopcomputers, laptops, mobile phones, such as smartphones, personal digitalassistants (PDAs), or any other device capable of receiving and sendingvoice communications over a network. The network can include, but is notlimited to, for example, a local area network (LAN), wide area network(WAN), cellular network, satellite network and the Internet. In the caseof embodiments of the invention that are applied to communicationsbetween participants in multiple geographic areas, for example, indifferent parts of the world, the embodiments of the invention can begeo-enabled, wherein location and geographical information ofparticipants are embedded and/or leveraged to detect issues withcomprehension and provide solutions to improve understanding and theoverall quality of voice communications.

Referring to FIG. 1, which shows a system 100 for improving voicecommunication over a network, a detection module 102 includes, forexample, one or more bots, such as web robots, or other softwareapplications that run automated tasks over a network 150, such as the

Internet. The bots detect that there are meeting constituents frommultiple geographic areas and/or detect difficulty understandingcommunicated speech. According to embodiments of the present invention,the detection module 102 can detect that meeting constituents 160 arefrom multiple geographic areas using for example, location informationor signals provided from each communication device 162 via GPS, Wi-Fi orWi-Fi type devices in the communication device 162, the InternetProtocol (IP) addresses of the communication devices, the telephonenumbers of the communication devices, and/or phrases and/or keywordsuttered by the participants 160 which may lead to a conclusion as to thelocation of the participant.

The detection module 102 may detect difficulty understandingcommunicated speech by certain phrases and/or keywords uttered by theparticipants (e.g., “I'm sorry, I didn't catch your name”, “pause, ok”,“Can you repeat that?”) or by other clues, which could be userconfigured, indicating that a communication participant was notunderstood. For example, a user could set a monitoring criterion toindicate a problem with understanding when the user fails to repeatanother participant's name back when introductions are being made.

According to embodiments of the present invention, the detection module102 is also capable of detecting one or more speech patterns of theparticipants, for example, a speech impediment, such as a stutter orusing a repetitive word/phrase, an accent, or a rate of speech whichcould indicate cognitive or hearing impairment. The detection module 102is also capable of detecting uttered words and phrases that havedifferent meanings across geographic regions and/or cultures.

Each of the detected issues are input from the detection module 102 to acommunication satisfactory manager module 108, which processes thedetected problems to develop solutions for each problem. Referring toFIG. 2, according to embodiments of the present invention, the outputfrom the detection module 102 is sent to the communication satisfactorymanager module 108, which includes a processor and analyzer of collecteddata 200 and 201. The processor of collected data 200 processes thelocation, phrase/keyword, speech impediment, speech rate and/or accentdata from the detection module 102 so that it can be analyzed by theanalyzer of collected data 201, which together with the dissatisfactiondetermining module 202, determines whether there are problems with thecommunication resulting in one or more participants not comprehendingwhat is being said by one or more of the remaining participants.According to an embodiment, the analyzer of collected data 201 cancompile the data from the detection module 102 and output information onthe location, and the type and magnitude of detected issues for eachparticipant. The dissatisfaction determining module 202 uses the outputfrom the analyzer of collected data 201 to determine whether anyparticipants are having problems understanding other participants. If itis determined that any of the participants are not comprehending theother participants, the resolution module 203 uses the outputs from theanalyzer of collected data 201 and dissatisfaction determining module202 to isolate the underlying cause of the problem, and come up with anappropriate solution based on the isolated cause. According toembodiments of the present invention, solutions may include, forexample, automatic speech recognition (ASR), machine translation (MT),filtering speech impediments, speech to text transformation,transforming an accent into one that is agreeable to the listener if anaccent is detected and does not appeal to the listener, and/or slowingdown speech for a user by, for example, inserting pauses. In connectionwith the accent transformation, if there are multiple listeners, accentscan be transformed in accordance with each user's preference.

According to an embodiment, the system 100 includes a speech/voice totext module 104 connected to the communication satisfactory managermodule 108. If it is concluded that a participant 160 has difficulty inunderstanding during a meeting, the communication satisfactory managermodule 108 may determine that a speech to text transformation solutionbe used, and send a signal to the speech/voice to text module 104, whichcreates a voice to text box translating the speech of the misunderstoodparticipant to text, which is transmitted to those participant(s) 160having the difficulty understanding. According to an embodiment, thevoice to text box is displayed on a display, such as a screen, of thecorresponding communication device 162.

According to embodiments of the present invention, sensors 112, forexample, biometric sensors, are within, coupled to or electronicallyconnected to each communication device 162 to communicate biometricmeasurements of the participants 160 to the communication satisfactorymanager module 108 via the network 150. According to an embodiment,sensors 112 can also be directly connected to the network. The outputfrom the sensors can be sent to the communication satisfactory managermodule 108 via the network 150, or via the network 150 and the detectionmodule 102.

Users may behave in a certain manner when they are not able tocomprehend what is being said by another party, and this behavior can bequantitatively measured through different biometric measurements.Biometric measurements measure, for example, physiological andbehavioral characteristics including, but not limited to, anindividual's voice, movements, gestures, expressions, posture, etc.Embodiments of the present invention use biometric information todetermine when a meeting participant 160 is not able to comprehend whatis being said. For example, according to an embodiment, when aparticipant is having difficulty understanding another person, thecommunication satisfactory manager module 108 can use information suchas movements in one's seat, pressure, temperature and humidity levels,for example, via a user's hands, facial expressions, gestures, etc., todetect participant dissatisfaction. According to embodiments of thepresent invention, dissatisfied or dissatisfaction can refer to asituation where a participant is not able to understand what is beingsaid by other participants as a result of, for example, poor audioquality, connection problems, speech patterns or impairments of thelisteners or speakers, and/or cultural or geographical differences.

Individuals tend to provide implicit physical feedbacks when they arenot understanding something, and these feedbacks can be measured usingbiometric sensors. Such feedbacks include, but are not limited torolling one's eyes, furrowing one's brow, curling one's lip, shruggingone's shoulders, throwing one's hands up in the air, etc.

According to embodiments of the present invention, the sensors 112 canmeasure and/or capture, for example, voice level, pulse rate, hand orbody temperature, facial expressions (e.g., satisfied/dissatisfied) andbody movements. Sensors 112 may include, but are not limited to,pressure, motion, pulse rate and/or temperature sensors, microphones andvideo and/or still image cameras.

Referring to FIGS. 1 and 2, the output from the sensors 112 is sent tothe communication satisfactory manager module 108, which includes theprocessor and analyzer of collected data 200 and 201. The processor ofcollected data 200 processes the sensor data so that it can be analyzedby the analyzer of collected data 201, which together with thedissatisfaction determining module 202, determines whether there areproblems with the communication resulting in one or more participantsnot comprehending what is being said by one or more of the remainingparticipants. According to an embodiment, the analyzer of collected data201 can compile the sensor data and output information on the type andlevel of biometric activity for each participant. The dissatisfactiondetermining module 202 uses the output from the analyzer of collecteddata 201 to determine whether any participants are dissatisfied. If itis determined that any of the participants are dissatisfied, theresolution module 203 uses the outputs from the analyzer of collecteddata 201 and dissatisfaction determining module 202 to isolate theunderlying cause of the problem, and come up with an appropriatesolution based on the isolated cause. According to an embodiment of thepresent invention, the processor of collected data 200 processes thesensor data together with the location, phrase/keyword, speechimpediment, speech rate and/or accent data from the detection module 102so that the combined data can be analyzed by the analyzer of collecteddata 201, and the analyzer of collected data 201 compiles the sensordata together with the data from the detection module 102 and outputsinformation on the biometric activity, the location, and the type andmagnitude of detected issues for each participant.

According to an embodiment, each communication device 162 includes anaudio sensing module 106 capable of sensing audio received at a userend, and determining and/or estimating the quality of received audio.The audio sensing module 106 can include, for example, an audio sensor,such as a microphone, or some transducer coupled to a processor forprocessing the sensed audio, and outputting a quality determination.

If the audio sensing module 106 makes a determination that the audioquality is low, the embodiments of the invention provide for one or moresolutions to increase the quality. The solutions include, but are notlimited to: (1) automatically increasing a volume of audio received at auser end; (2) improving technical reception capability (e.g., expandingbandwidth, reducing channel noise, etc.); (3) sending a feedback to aperson who spoke requesting that the person repeat his/her phrase ifthere are significant parts of audio that were not received on a userend (as sometimes happens if a conference system uses an Internetnetwork), (4) if the audio quality problem persists, re-roundingtelephone connection paths through different routes; (5) transcribing auser speech at the end where the user speaks to textual data, sendingthe textual data over a communication line and converting text to speechat a receiving end, (6) if the system determines parts of speech thatwere dropped, integrating the dropped parts into synthesized speechbefore playing the speech at the receiving end, (7) providing feedbackon quality at a receiving end to a sender, so that the sender can adjusthis/her speech to increase quality based on the feedback, (8) filteringthe speech, for example, to remove stuttering before it is received bylisteners and/or to slow the speech down by adding silence between wordsor extending sounds, and (9) highlighting words in text that has beentranscribed to indicate a potential misunderstanding in real-time orreplacing the text.

In connection with (6), according to an embodiment of the presentinvention, the algorithm for determining what parts are dropped can usea monitoring of packages that arrive to the receiver end at some port.This can cause some delay in getting speech to users, but this delaywould be less then asking someone to repeat whole phrases. In connectionwith (7), a feedback module 113 at a receiver end and connected to thenetwork 150 can include, for example, colored buttons with varyingintensity to show the quality of the audio being received and/or thelevel of happiness/satisfaction of the listeners/receivers. According toan embodiment, the feedback module 113 can be integrated with or coupledto the communication device 162. According to an embodiment, thefeedback module 113 can receive requests that the participant repeat aphrase because a person on the other line did not understand what theparticipant said. Specifically the feedback could include, but is notlimited to, requests such as, “you have spoken too quickly please slowdown”, “you have mispronounced something, please correct”, and/or “thechannel was noisy, please repeat”.

Referring to FIG. 3, according to an embodiment, the analyzer ofcollected data 201 includes a natural language processor 300, anautomatic speech recognition module 301, a biometric data interpretationmodule 302, a technical analyzer module 303 and a classification module304. The natural language processor 300 processes the phrases and/orkeywords uttered by the participants 160 to derive meaning from thenatural language input that may lead to a conclusion as to the locationof a participant, the nature of the problem of the participant, and/orthat one or more of the participants is having difficulty understandingother participants. The natural language processor 300 is connected tothe classification module 304 to output the results of the naturallanguage processing to the classification module 304, which compiles thenatural language data together with the remaining data to classify thedetected issues for each participant. The automatic speech recognitionmodule 301 translates the phrases and/or keywords uttered by theparticipants 160 into text to derive meaning from these voice inputsthat may lead to a conclusion as to the location of a participant, thenature of the problem of the participant, and/or that one or more of theparticipants is having difficulty understanding other participants. Likethe natural language processor 300, the automatic speech recognitionmodule 301 is connected to the classification module 304 to output theresults of the automatic speech recognition to the classification module304, which compiles the speech recognition data together with theremaining data to classify the detected issues for each participant.

The biometric data interpretation module 302 interprets the biometricdata from the participants 160 (e.g., images, pressure, temperature,gestures, etc.) to derive meaning from these features and/or actionsthat may lead to a conclusion as to the location of a participant, thenature of the problem of the participant, and/or that one or more of theparticipants is having difficulty understanding other participants. Likethe natural language processor 300 and the automatic speech recognitionmodule 301, the biometric data interpretation module 302 is connected tothe classification module 304 to output the results of the biometricdata interpretation to the classification module 304, which compiles thebiometric data interpretation data together with the remaining data toclassify the detected issues for each participant.

The technical analyzer module 303 analyzes remaining technical data,such as, for example, location data, including GPS data, IP addresses,telephone numbers, user identified monitoring criteria, andequipment/device performance data to derive meaning from these featuresthat may lead to a conclusion as to the location of a participant, thenature of the problem of the participant, and/or that one or more of theparticipants is having difficulty understanding other participants. Likethe natural language processor 300, the automatic speech recognitionmodule 301, and the biometric data interpretation module 302, thetechnical analyzer module 303 is connected to the classification module304 to output the results of the technical data analysis to theclassification module 504, which compiles the technical data analysistogether with the remaining data to classify the detected issues foreach participant.

Referring to FIG. 4, the dissatisfaction determining module 202 includesa receiver 400 of the classes of events, which are received from theclassification module 304, a statistical filter 401, and an outputmodule 402 outputting the determination of whether any and which of theparticipants are dissatisfied. Based on one or more filter settings,including, for example, magnitude thresholds and/or settings requiringthe removal of predetermined types of data, the statistical filter 401filters the environment of detected events causing the dissatisfactionto output a narrowed environment of dissatisfaction events from whichthe dissatisfaction determining module 202 draws to determine thoseparticipants that are dissatisfied.

Referring to FIG. 5, the resolution module 203 comprises a database ofsolutions 500. As shown in FIG. 6, the database of solutions 500includes a list of problems that can result in or indicate a lack ofunderstanding of other participants in a voice communication. Thedatabase 500 further includes corresponding solutions to address thelack of comprehension for each problem. The list of problems shown inFIG. 6 is not exhaustive, and the database 500 can include additionalproblems and solutions. The resolution module 203 further includes amatching module 501, which uses the outputs from the analyzer ofcollected data 201 and the dissatisfaction determining module 202 todetermine the currently occurring problem or problems. The matchingmodule 501 queries and/or searches the database 500 for a solution thatmatches with the currently occurring problem, and sends the solution forimplementation through the return module 502.

Referring to FIG. 7, in a method for improving communication over anetwork, a communication between participants over the network ismonitored for the presence of data indicating a problem with thecommunication (block 701). According to embodiments of the presentinvention, the data can comprise parts of a dialogue betweenparticipants that include keywords and/or key phrases predetermined asindicating a problem with a communication (e.g., “I'm sorry, I didn'tcatch your name”, “pause, ok”, “Can you repeat that?”). The data mayalso comprise biometric data, such as movement by, body temperature ofand a facial expression of a participant indicating dissatisfaction.According to embodiments of the present invention, the data can alsocomprise location information of the participants and/or speech patternsof a participant.

If no such data is detected at block 703, the method continues back toblock 701 to monitor for the presence of such data. If such data isdetected, the method continues to block 705 where the data is collectedand processed, and proceeds to block 707, where the data is analyzed todetermine whether a participant is dissatisfied with the communication.In accordance with embodiments of the present invention, analyzing caninclude interpreting the biometric data, natural language processing,automatic speech recognition and/or analysis of technical data.

If it is determined at block 709 that the participant is notdissatisfied, the method goes back to block 701 to monitor for thepresence of data indicating a problem. If it is determined at block 709that the participant is dissatisfied, the method proceeds to block 711,where an event causing the dissatisfaction is identified, and to block713 where a solution for eliminating the problem is provided. Thesolution corresponds to the event causing the dissatisfaction and can beretrieved from a database of solutions. Providing the solution mayrequire modifying speech from a first participant prior to reception ofthe speech by a second participant by converting the speech into text tobe displayed for the second participant, filtering speech impediments,changing an accent, changing a rate of the speech and/or determiningparts of the speech that were dropped, and integrating the dropped partsinto synthesized speech.

Prior to identifying the event causing the dissatisfaction, the data canbe processed to classify the data into events causing thedissatisfaction, and the events filtered by a statistical filter.

Referring to FIG. 8, in a method for improving communication over anetwork, it is queried at block 803 if there is an interruption (e.g.,pausing, requests to repeat) in a communication such as telephone call.If no, the process proceeds to block 801 to monitor for theinterruption. If yes, the process proceeds to block 805 where theparticipant (e.g., caller) that caused the interruption is identified.At block 807, a reason for the interruption is identified (e.g., pooraudio quality, connection problems, speech patterns or impairments ofthe listeners or speakers, and/or cultural or geographical differences).Then at block 809, based on the reason for the interruption, a solutionis identified. At block 811, it is determined whether there is a need toprovide feedback. If yes, the process proceeds to block 813, wherefeedback is provided. According to an embodiment of the presentinvention, the participant who is speaking receives the feedback. Thefeedback can include a request that the participant repeat a phrasebecause a person on the other line did not understand what theparticipant said. Specifically the feedback could include, but is notlimited to, requests such as, “you have spoken too quickly please slowdown”, “you have mispronounced something, please correct”, and/or “thechannel was noisy, please repeat”.

If no at block 811, the process proceeds to block 815, where it isqueried whether the solution is able to use automated intervention tomodify the speech in a communication. If no at block 815, the processproceeds to block 817, where a human expert is contacted to attempt tofix the problem. If yes at block 815, the process proceeds to block 819,where automated intervention, such as, for example, automatic speechrecognition, machine translation, filtering speech impediments, speechto text transformation, accent transformation, and/or slowing downspeech, is implemented.

As will be appreciated by one skilled in the art, aspects of the presentinvention may be embodied as a system, apparatus, method, or computerprogram product. Accordingly, aspects of the present invention may takethe form of an entirely hardware embodiment, an entirely softwareembodiment (including firmware, resident software, micro-code, etc.) oran embodiment combining software and hardware aspects that may allgenerally be referred to herein as a “circuit,” “module” or “system.”Furthermore, aspects of the present invention may take the form of acomputer program product embodied in one or more computer readablemedium(s) having computer readable program code embodied thereon.

Any combination of one or more computer readable medium(s) may beutilized. The computer readable medium may be a computer readable signalmedium or a computer readable storage medium. A computer readablestorage medium may be, for example, but not limited to, an electronic,magnetic, optical, electromagnetic, infrared, or semiconductor system,apparatus, or device, or any suitable combination of the foregoing. Morespecific examples (a non-exhaustive list) of the computer readablestorage medium would include the following: an electrical connectionhaving one or more wires, a portable computer diskette, a hard disk, arandom access memory (RAM), a read-only memory (ROM), an erasableprogrammable read-only memory (EPROM or Flash memory), an optical fiber,a portable compact disc read-only memory (CD-ROM), an optical storagedevice, a magnetic storage device, or any suitable combination of theforegoing. In the context of this document, a computer readable storagemedium may be any tangible medium that can contain, or store a programfor use by or in connection with an instruction execution system,apparatus, or device.

A computer readable signal medium may include a propagated data signalwith computer readable program code embodied therein, for example, inbaseband or as part of a carrier wave. Such a propagated signal may takeany of a variety of forms, including, but not limited to,electro-magnetic, optical, or any suitable combination thereof. Acomputer readable signal medium may be any computer readable medium thatis not a computer readable storage medium and that can communicate,propagate, or transport a program for use by or in connection with aninstruction execution system, apparatus, or device.

Program code embodied on a computer readable medium may be transmittedusing any appropriate medium, including but not limited to wireless,wireline, optical fiber cable, RF, etc., or any suitable combination ofthe foregoing.

Computer program code for carrying out operations for aspects of thepresent invention may be written in any combination of one or moreprogramming languages, including an object oriented programming languagesuch as Java, Smalltalk, C++ or the like and conventional proceduralprogramming languages, such as the “C” programming language or similarprogramming languages. The program code may execute entirely on theuser's computer, partly on the user's computer, as a stand-alonesoftware package, partly on the user's computer and partly on a remotecomputer or entirely on the remote computer or server. In the latterscenario, the remote computer may be connected to the user's computerthrough any type of network, including a local area network (LAN) or awide area network (WAN), or the connection may be made to an externalcomputer (for example, through the Internet using an Internet ServiceProvider).

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems) and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer program instructions. These computer program instructions maybe provided to a processor of a general purpose computer, specialpurpose computer, or other programmable data processing apparatus toproduce a machine, such that the instructions, which execute via theprocessor of the computer or other programmable data processingapparatus, create means for implementing the functions/acts specified inthe flowchart and/or block diagram block or blocks.

These computer program instructions may also be stored in a computerreadable medium that can direct a computer, other programmable dataprocessing apparatus, or other devices to function in a particularmanner, such that the instructions stored in the computer readablemedium produce an article of manufacture including instructions whichimplement the function/act specified in the flowchart and/or blockdiagram block or blocks.

The computer program instructions may also be loaded onto a computer,other programmable data processing apparatus, or other devices to causea series of operational steps to be performed on the computer, otherprogrammable apparatus or other devices to produce a computerimplemented process such that the instructions which execute on thecomputer or other programmable apparatus provide processes forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks.

FIGS. 1-8 illustrate the architecture, functionality, and operation ofpossible implementations of systems, methods, and computer programproducts according to various embodiments of the present invention. Inthis regard, each block in a flowchart or a block diagram may representa module, segment, or portion of code, which comprises one or moreexecutable instructions for implementing the specified logicalfunction(s). It should also be noted that, in some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagram and/or flowchart illustration, and combinations of blocksin the block diagram and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts, or combinations of special purpose hardware andcomputer instructions.

One or more embodiments can make use of software running on ageneral-purpose computer or workstation. With reference to FIG. 9, in acomputing node 910 there is a computer system/server 912, which isoperational with numerous other general purpose or special purposecomputing system environments or configurations. Examples of well-knowncomputing systems, environments, and/or configurations that may besuitable for use with computer system/server 912 include, but are notlimited to, personal computer systems, server computer systems, thinclients, thick clients, handheld or laptop devices, multiprocessorsystems, microprocessor-based systems, set top boxes, programmableconsumer electronics, network PCs, minicomputer systems, mainframecomputer systems, and distributed cloud computing environments thatinclude any of the above systems or devices, and the like.

Computer system/server 912 may be described in the general context ofcomputer system executable instructions, such as program modules, beingexecuted by a computer system. Generally, program modules may includeroutines, programs, objects, components, logic, data structures, and soon that perform particular tasks or implement particular abstract datatypes. Computer system/server 912 may be practiced in distributed cloudcomputing environments where tasks are performed by remote processingdevices that are linked through a communications network. In adistributed cloud computing environment, program modules may be locatedin both local and remote computer system storage media including memorystorage devices.

As shown in FIG. 9, computer system/server 912 in computing node 910 isshown in the form of a general-purpose computing device. The componentsof computer system/server 912 may include, but are not limited to, oneor more processors or processing units 916, a system memory 928, and abus 918 that couples various system components including system memory928 to processor 916.

The bus 918 represents one or more of any of several types of busstructures, including a memory bus or memory controller, a peripheralbus, an accelerated graphics port, and a processor or local bus usingany of a variety of bus architectures. By way of example, and notlimitation, such architectures include Industry Standard Architecture(ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA)bus, Video Electronics Standards Association (VESA) local bus, andPeripheral Component Interconnects (PCI) bus.

The computer system/server 912 typically includes a variety of computersystem readable media. Such media may be any available media that isaccessible by computer system/server 912, and it includes both volatileand non-volatile media, removable and non-removable media.

The system memory 928 can include computer system readable media in theform of volatile memory, such as random access memory (RAM) 930 and/orcache memory 932. The computer system/server 912 may further includeother removable/non-removable, volatile/nonvolatile computer systemstorage media. By way of example only, storage system 934 can beprovided for reading from and writing to a non-removable, non-volatilemagnetic media (not shown and typically called a “hard drive”). Althoughnot shown, a magnetic disk drive for reading from and writing to aremovable, non-volatile magnetic disk (e.g., a “floppy disk”), and anoptical disk drive for reading from or writing to a removable,non-volatile optical disk such as a CD-ROM, DVD-ROM or other opticalmedia can be provided. In such instances, each can be connected to thebus 918 by one or more data media interfaces. As depicted and describedherein, the memory 928 may include at least one program product having aset (e.g., at least one) of program modules that are configured to carryout the functions of embodiments of the invention. A program/utility940, having a set (at least one) of program modules 942, may be storedin memory 928 by way of example, and not limitation, as well as anoperating system, one or more application programs, other programmodules, and program data. Each of the operating system, one or moreapplication programs, other program modules, and program data or somecombination thereof, may include an implementation of a networkingenvironment. Program modules 942 generally carry out the functionsand/or methodologies of embodiments of the invention as describedherein.

Computer system/server 912 may also communicate with one or moreexternal devices 914 such as a keyboard, a pointing device, a display924, etc., one or more devices that enable a user to interact withcomputer system/server 912, and/or any devices (e.g., network card,modem, etc.) that enable computer system/server 912 to communicate withone or more other computing devices. Such communication can occur viaInput/Output (I/O) interfaces 922. Still yet, computer system/server 912can communicate with one or more networks such as a local area network(LAN), a general wide area network (WAN), and/or a public network (e.g.,the Internet) via network adapter 920. As depicted, network adapter 920communicates with the other components of computer system/server 912 viabus 918. It should be understood that although not shown, other hardwareand/or software components could be used in conjunction with computersystem/server 912. Examples, include, but are not limited to: microcode,device drivers, redundant processing units, external disk drive arrays,RAID systems, tape drives, and data archival storage systems, etc.

Although illustrative embodiments of the present invention have beendescribed herein with reference to the accompanying drawings, it is tobe understood that the invention is not limited to those preciseembodiments, and that various other changes and modifications may bemade by one skilled in the art without departing from the scope orspirit of the invention.

1.-10. (canceled)
 11. A method for improving communication over anetwork, the method comprising: monitoring the communication betweenparticipants over the network to detect data indicating a problem withthe communication; analyzing the data to determine whether a participantis dissatisfied with the communication; and if it is determined that theparticipant is dissatisfied, identifying an event causing thedissatisfaction, and providing a solution for eliminating the problem,wherein one or more steps of the method are performed by a computersystem comprising a memory and at least one processor coupled to thememory.
 12. The method of claim 11, wherein the data comprises at leastpart of a dialogue between participants, the part of the dialogueincluding at least one of a keyword or a key phrase recognized as anindicator of the problem.
 13. The method of claim 11, wherein the datacomprises biometric data.
 14. The method of claim 13, wherein thebiometric data includes at least one of movement by, body temperature ofand a facial expression of a participant.
 15. The method of claim 11,wherein the data comprises location information of the participants. 16.The method of claim 11, wherein the data comprises at least one speechpattern of a participant.
 17. The method of claim 11, wherein analyzingcomprises at least one of natural language processing and automaticspeech recognition.
 18. The method of claim 11, further comprisingprocessing the data to classify the data into events causing thedissatisfaction.
 19. The method of claim 18, further comprisingfiltering the events and determining that the participant isdissatisfied from the filtered events.
 20. The method of claim 11,wherein providing the solution comprises modifying speech from a firstparticipant prior to reception of the speech by a second participant.21. The method of claim 20, wherein modifying comprises converting thespeech into text to be displayed for the second participant.
 22. Themethod of claim 20, wherein modifying comprises at least one offiltering speech impediments, changing an accent, and changing a rate ofthe speech.
 23. The method of claim 20, wherein modifying comprisesdetermining parts of the speech that were dropped, and integrating thedropped parts into synthesized speech. 24.-25. (canceled)